function [ W, H ] = TNMF( duomenys, R, niter)

    [M, N]  = size(duomenys);
    
    Y = duomenys;
    [W H] = GetStartingWH(M, N, R);
    fontSize = 26;

    
    ee = 1e-6;
    
    nimble = [];
    for k=1:niter
        
        W = W .* (Y * H' )./((W*H)*H' + ee);
        H = H .* (W' * Y )./(W'*W*H + ee);
        
        dist = EuclidDist(duomenys, W * H);
        
        nimble = [nimble dist];
    end
    h = figure('visible','off');
    
    set(h, 'DefaultLineLineWidth', 1.5);
    set(h, 'DefaultAxesFontSize', fontSize);
    plot(nimble);
    xlabel('Iteracijos', 'FontSize', fontSize);
    ylabel('Euklidinis atstumas', 'FontSize', fontSize);
    SaveFigure(h, 'convergenceNmfMulti');
end
